Warning: Expected 9 pieces. Missing pieces filled with `NA` in 2 rows [1, 2].
GEMS Telemetry
Get and parse data sent to GEMS website. Data from 2025-06-23 to present.
Get Data
Get data from website.
Use start_date parameter to limit download.
Add row, type, send and line number
Separate data into post times, met, status, and adv data
reshape rga data
Filter bad data before timestamping adv data
Calculate per-send means
Warning: There were 4144 warnings in `summarise()`.
The first warning was:
ℹ In argument: `across(...)`.
ℹ In group 1: `send = 1`.
Caused by warning in `mean.default()`:
! argument is not numeric or logical: returning NA
ℹ Run `dplyr::last_dplyr_warnings()` to see the 4143 remaining warnings.
Warning: There were 3964 warnings in `summarise()`.
The first warning was:
ℹ In argument: `across(...)`.
ℹ In group 1: `send = 96`.
Caused by warning in `mean.default()`:
! argument is not numeric or logical: returning NA
ℹ Run `dplyr::last_dplyr_warnings()` to see the 3963 remaining warnings.
Status
Last post was 2025-07-07 10:20:25
How many status lines are in the wrong year?
Joining with `by = join_by(send)`

Teensy Temp
Junction temp of Surface teensy. Runs at 50C at room temp. >95C kills teensies.
`geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'
Warning: Removed 926 rows containing missing values or values outside the scale range
(`geom_segment()`).

Battery
`geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'
`geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'
Warning: Removed 3 rows containing missing values or values outside the scale range
(`geom_segment()`).

Turbo
`geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'
Warning: Failed to fit group -1.
Caused by error in `gam.reparam()`:
! NA/NaN/Inf in foreign function call (arg 3)
Warning: Removed 3 rows containing missing values or values outside the scale range
(`geom_segment()`).
`geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'
Warning: Removed 3 rows containing missing values or values outside the scale range
(`geom_segment()`).

`geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'
`geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'

RGA
`geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'
Warning: Removed 1 row containing non-finite outside the scale range
(`stat_smooth()`).
`geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'
Warning: Removed 1 row containing non-finite outside the scale range
(`stat_smooth()`).
Warning: Removed 1 row containing missing values or values outside the scale range
(`geom_point()`).

Oxygen
Carbon dioxide
`geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'
Methane
`geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'
Warning: Removed 576 rows containing non-finite outside the scale range
(`stat_smooth()`).
Hydrogen sulphide
`geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'
Warning: Removed 322 rows containing non-finite outside the scale range
(`stat_smooth()`).
ADV
Pressure/Depth

ADV Correlation
`geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'
`geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'

ADV Amplitude
`geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'
`geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'

ADV Vertical Velocity
Warning: Removed 72 rows containing missing values or values outside the scale range
(`geom_pointrange()`).
Warning: Removed 659 rows containing missing values or values outside the scale range
(`geom_segment()`).

ADV Alongshore Velocity
ADV set up with x axis parallel to shore. Positive is North.
Warning: Removed 27 rows containing missing values or values outside the scale range
(`geom_segment()`).

ADV Onshore velocity
Positive is offshore
Warning: Removed 30 rows containing missing values or values outside the scale range
(`geom_segment()`).

IMU data
`geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'
Warning: Failed to fit group -1.
Caused by error in `gam.reparam()`:
! NA/NaN/Inf in foreign function call (arg 3)
`geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'
`geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'

Data issues
Bad Packets
Garbled status or data packets. These need to be filtered out before timestamping. These should be caught on the lander by adding a checksum. Also need to check whether data is corrupted from ADV-lander, lander-surface, or surface-web.
Out of order packets
Not sure what causes this. Happening on the server side. Maybe parallel processing of POST requests? Handled by sorting each send by packet number.
Missing data
Missing data includes bad packets. Need to separate out.
Joining with `by = join_by(send)`
`summarise()` has grouped output by 'send'. You can override using the
`.groups` argument.

Post times
| timestamp | send | row_count |
|---|---|---|
| 2025-07-07 07:10:25 | 2058 | 500 |
| 2025-07-07 07:20:25 | 2059 | 500 |
| 2025-07-07 07:30:25 | 2060 | 500 |
| 2025-07-07 07:40:25 | 2061 | 500 |
| 2025-07-07 07:50:25 | 2062 | 500 |
| 2025-07-07 08:00:24 | 2063 | 500 |
| 2025-07-07 08:10:25 | 2064 | 499 |
| 2025-07-07 08:20:25 | 2065 | 500 |
| 2025-07-07 08:30:25 | 2066 | 500 |
| 2025-07-07 08:40:25 | 2067 | 500 |
| 2025-07-07 08:50:00 | 2068 | 500 |
| 2025-07-07 09:00:25 | 2069 | 500 |
| 2025-07-07 09:10:25 | 2070 | 500 |
| 2025-07-07 09:20:25 | 2071 | 500 |
| 2025-07-07 09:30:25 | 2072 | 500 |
| 2025-07-07 09:40:25 | 2073 | 500 |
| 2025-07-07 09:50:24 | 2074 | 500 |
| 2025-07-07 10:00:00 | 2075 | 500 |
| 2025-07-07 10:10:25 | 2076 | 500 |
| 2025-07-07 10:20:25 | 2077 | 500 |
Lines per post
Warning: Removed 3 rows containing missing values or values outside the scale range
(`geom_point()`).
